/**
 * 访问日志工具类
 */

// 记录页面访问日志
export function logPageAccess(to, from, userStore) {
  // 只在生产环境中记录日志
  if (import.meta.env.PROD) {
    const accessLog = {
      timestamp: new Date().toISOString(),
      userId: userStore.id,
      userName: userStore.name,
      fromPath: from.fullPath || 'direct access',
      toPath: to.fullPath,
      toName: to.name,
      userAgent: navigator.userAgent,
    };
    
    // 在实际项目中，这里可以发送到服务器进行记录
    console.log('Page Access Log:', accessLog);
    
    // 示例：发送到服务器
    // fetch('/api/access-log', {
    //   method: 'POST',
    //   headers: {
    //     'Content-Type': 'application/json',
    //   },
    //   body: JSON.stringify(accessLog),
    // });
  }
}

// 记录权限拒绝事件
export function logPermissionDenied(to, userStore) {
  const deniedLog = {
    timestamp: new Date().toISOString(),
    userId: userStore.id,
    userName: userStore.name,
    deniedPath: to.fullPath,
    requiredRoles: to.meta.roles,
    userRole: userStore.getUserRole,
  };
  
  console.warn('Permission Denied Log:', deniedLog);
}